#ifndef _INPUT_BOX_H_JM_20120624
#define _INPUT_BOX_H_JM_20120624

#include "GenericBoxModel.h"

//class InputBox : public bobox::basic_box2 {
//public:
//	typedef GenericBoxModel<InputBox, void> BoxModel;
//	static const char* BOX_NAME;
//	static const int INPUT_GROUP = 0;
//	static const int OUTPUT_GROUP = 0;
//	static const int OUTPUT_COLUMNS = 2;
//
//	InputBox(bobox::box_id_type id, bobox::box_tid_type tid, bobox::request *req, 
//		const bobox::parameters &params) : bobox::basic_box2(id, tid, req) {
//
//	}
//	
//	virtual void init_impl() override {
//		 add_group(group_index_type(INPUT_GROUP), bobox::column_index_type(0), 0);
//		 add_group(group_index_type(OUTPUT_GROUP), bobox::column_index_type(0),  
//			 get_output_descriptors(bobox::outarc_index_type(0));
//
//		 receive(bobox::inarc_index_type(0), group_index_type(INPUT_GROUP));
//	}
//
//	virtual void sync_mach_etwas() override {
//		const group& g = get_group(group_index_type(INPUT_GROUP));
//		if (g.poisoned_) {
//			//send_poisoned(bobox::outarc_index_type(OUTPUT_G1_COLUMN_1));
//			//return;
//		}
//		send(bobox::outarc_index_type(0), group_index_type(OUTPUT_GROUP));
//	}
//
//private:
//	static const int* column1_;
//	static const int* column2_;
//
//	void initData() {
//		allocate(group_index_type(OUTPUT_GROUP), size);
//		for (size_t i = 0; i < size; ++i) {
//			get_data<bobox::int_policy>(bobox::column_index_type(0))[i] = 
//				table.getKey(i);
//			get_data<bobox::int_policy>(bobox::column_index_type(1))[i] = i;
//		}
//	}
//};
//
//const char* InputBox::BOX_NAME = "InputBox";

#endif
